@import url("https://fonts.googleapis.com/css2?family=Yeseva+One&display=swap");
*{
    box-sizing: border-box;
    margin: auto;
}

body{
    position: relative;
    height: 100vh;
    display: flex;
    overflow: hidden;
    font-family: "Yeseva One";
}
video{
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -1;
}
.shell{
    position: relative;
    max-width: 100vh;
    aspect-ratio: 1/1;
    display: flex;
    border-radius: 50%;
    overflow: hidden;
    text-align: center;
    filter: drop-shadow(-30px 30px 10px #006e9d);
}
.text-wrapper{
    font-size: 50px;
    position: relative; /* 确保文字相对于父元素定位 */
    z-index: 1; /* 确保文字在波浪之上 */
    top: 50%; /* 将文字垂直居中 */
    transform: translateY(-140%); /* 调整垂直位置 */
}
span.wave{
    background: -50% 0%/200% 100% linear-gradient(90deg, #272626, #84c8ef, #444242);
    color: transparent;
    background-clip: text;
    animation: flow 4s linear infinite;
    padding: 0 60px;
}
.text-author{
    font-size: 40px;
    text-align: right;
}
.box{
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #fff;
}
.box:nth-of-type(1){
   height: 35%;
   opacity: 0.6;
}
.box:nth-of-type(2){
    height: 67%;
    opacity:0.5;
}
.box:nth-of-type(3){
    height: 93%;
    opacity:0.4;
}

.wave {
    /* 创建两个径向渐变蒙版，模拟波浪的上下部分 */
    mask: 
        radial-gradient(46.6px at 50% calc(100% - (27px + 38px)), #fff 99%, rgba(255, 255, 255, 0.1) 101%),
        radial-gradient(46.6px at 50% calc(100% + 38px), rgba(255, 255, 255, 0.1) 99%, #fff 101%) repeat-x;
    /* 设置蒙版的大小 */
    mask-size: calc(4*30px) 100%;
    /* 设置蒙版的初始位置，调整波浪的位置 */
    mask-position: calc(50% - 2*27px) 0, 50% calc(100% - 27px);
    /* 定义动画 */
    animation: flow 5s linear infinite;
}

/* 定义动画 */
@keyframes flow {
    100% {
        mask-position: calc(50% - 6*27px) 0, calc(50% - 4*27px) calc(200% - 27px);
    }
}